Termination of the given ITRSProblem could successfully be proven:



ITRS
  ↳ ITRStoIDPProof

ITRS problem:
The following domains are used:

z

The TRS R consists of the following rules:

eval_3(i, j, l, r, n) → Cond_eval_35(&&(&&(>=@z(r, j), >@z(j, -@z(r, 1@z))), >=@z(j, 1@z)), i, j, l, r, n)
eval_1(i, j, l, r, n) → Cond_eval_1(>@z(2@z, l), i, j, l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_3(&&(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), >=@z(j, 1@z)), i, j, l, r, n)
eval_4(i, j, l, r, n) → Cond_eval_4(&&(&&(>=@z(l, 2@z), >=@z(l, 1@z)), >=@z(r, 2@z)), i, j, l, r, n)
Cond_eval_3(TRUE, i, j, l, r, n) → eval_3(+@z(j, 1@z), +@z(*@z(2@z, j), 2@z), l, r, n)
Cond_eval_41(TRUE, i, j, l, r, n) → eval_2(i, j, l, -@z(r, 1@z), n)
eval_3(i, j, l, r, n) → Cond_eval_34(&&(>=@z(r, j), >@z(j, -@z(r, 1@z))), i, j, l, r, n)
Cond_eval_31(TRUE, i, j, l, r, n) → eval_4(i, j, l, r, n)
Cond_eval_4(TRUE, i, j, l, r, n) → eval_2(i, j, -@z(l, 1@z), r, n)
Cond_eval_1(TRUE, i, j, l, r, n) → eval_2(i, j, l, -@z(r, 1@z), n)
Cond_eval_32(TRUE, i, j, l, r, n) → eval_3(j, *@z(2@z, j), l, r, n)
Cond_eval_2(TRUE, i, j, l, r, n) → eval_3(l, *@z(2@z, l), l, r, n)
Cond_eval_33(TRUE, i, j, l, r, n) → eval_4(i, +@z(j, 1@z), l, r, n)
eval_2(i, j, l, r, n) → Cond_eval_2(>=@z(r, 2@z), i, j, l, r, n)
Cond_eval_34(TRUE, i, j, l, r, n) → eval_4(i, j, l, r, n)
eval_4(i, j, l, r, n) → Cond_eval_41(&&(&&(>@z(2@z, l), >=@z(l, 1@z)), >=@z(r, 2@z)), i, j, l, r, n)
Cond_eval_35(TRUE, i, j, l, r, n) → eval_3(j, *@z(2@z, j), l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_31(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), i, j, l, r, n)
eval_1(i, j, l, r, n) → Cond_eval_11(>=@z(l, 2@z), i, j, l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_33(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), i, j, l, r, n)
Cond_eval_11(TRUE, i, j, l, r, n) → eval_2(i, j, -@z(l, 1@z), r, n)
eval_3(i, j, l, r, n) → Cond_eval_32(&&(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), >=@z(j, 1@z)), i, j, l, r, n)

The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


Added dependency pairs

↳ ITRS
  ↳ ITRStoIDPProof
IDP
      ↳ UsableRulesProof

I DP problem:
The following domains are used:

z

The ITRS R consists of the following rules:

eval_3(i, j, l, r, n) → Cond_eval_35(&&(&&(>=@z(r, j), >@z(j, -@z(r, 1@z))), >=@z(j, 1@z)), i, j, l, r, n)
eval_1(i, j, l, r, n) → Cond_eval_1(>@z(2@z, l), i, j, l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_3(&&(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), >=@z(j, 1@z)), i, j, l, r, n)
eval_4(i, j, l, r, n) → Cond_eval_4(&&(&&(>=@z(l, 2@z), >=@z(l, 1@z)), >=@z(r, 2@z)), i, j, l, r, n)
Cond_eval_3(TRUE, i, j, l, r, n) → eval_3(+@z(j, 1@z), +@z(*@z(2@z, j), 2@z), l, r, n)
Cond_eval_41(TRUE, i, j, l, r, n) → eval_2(i, j, l, -@z(r, 1@z), n)
eval_3(i, j, l, r, n) → Cond_eval_34(&&(>=@z(r, j), >@z(j, -@z(r, 1@z))), i, j, l, r, n)
Cond_eval_31(TRUE, i, j, l, r, n) → eval_4(i, j, l, r, n)
Cond_eval_4(TRUE, i, j, l, r, n) → eval_2(i, j, -@z(l, 1@z), r, n)
Cond_eval_1(TRUE, i, j, l, r, n) → eval_2(i, j, l, -@z(r, 1@z), n)
Cond_eval_32(TRUE, i, j, l, r, n) → eval_3(j, *@z(2@z, j), l, r, n)
Cond_eval_2(TRUE, i, j, l, r, n) → eval_3(l, *@z(2@z, l), l, r, n)
Cond_eval_33(TRUE, i, j, l, r, n) → eval_4(i, +@z(j, 1@z), l, r, n)
eval_2(i, j, l, r, n) → Cond_eval_2(>=@z(r, 2@z), i, j, l, r, n)
Cond_eval_34(TRUE, i, j, l, r, n) → eval_4(i, j, l, r, n)
eval_4(i, j, l, r, n) → Cond_eval_41(&&(&&(>@z(2@z, l), >=@z(l, 1@z)), >=@z(r, 2@z)), i, j, l, r, n)
Cond_eval_35(TRUE, i, j, l, r, n) → eval_3(j, *@z(2@z, j), l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_31(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), i, j, l, r, n)
eval_1(i, j, l, r, n) → Cond_eval_11(>=@z(l, 2@z), i, j, l, r, n)
eval_3(i, j, l, r, n) → Cond_eval_33(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), i, j, l, r, n)
Cond_eval_11(TRUE, i, j, l, r, n) → eval_2(i, j, -@z(l, 1@z), r, n)
eval_3(i, j, l, r, n) → Cond_eval_32(&&(&&(>=@z(r, j), >=@z(-@z(r, 1@z), j)), >=@z(j, 1@z)), i, j, l, r, n)

The integer pair graph contains the following rules and edges:

(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(4): EVAL_1(i[4], j[4], l[4], r[4], n[4]) → COND_EVAL_11(>=@z(l[4], 2@z), i[4], j[4], l[4], r[4], n[4])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(7): COND_EVAL_11(TRUE, i[7], j[7], l[7], r[7], n[7]) → EVAL_2(i[7], j[7], -@z(l[7], 1@z), r[7], n[7])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(11): COND_EVAL_1(TRUE, i[11], j[11], l[11], r[11], n[11]) → EVAL_2(i[11], j[11], l[11], -@z(r[11], 1@z), n[11])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(20): EVAL_1(i[20], j[20], l[20], r[20], n[20]) → COND_EVAL_1(>@z(2@z, l[20]), i[20], j[20], l[20], r[20], n[20])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(4) -> (7), if ((l[4]* l[7])∧(r[4]* r[7])∧(i[4]* i[7])∧(j[4]* j[7])∧(n[4]* n[7])∧(>=@z(l[4], 2@z) →* TRUE))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(7) -> (2), if ((r[7]* r[2])∧(n[7]* n[2])∧(j[7]* j[2])∧(-@z(l[7], 1@z) →* l[2])∧(i[7]* i[2]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(11) -> (2), if ((-@z(r[11], 1@z) →* r[2])∧(n[11]* n[2])∧(j[11]* j[2])∧(l[11]* l[2])∧(i[11]* i[2]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(19) -> (10), if ((l[19]* l[10])∧(r[19]* r[10])∧(i[19]* i[10])∧(j[19]* j[10])∧(n[19]* n[10])∧(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)) →* TRUE))


(20) -> (11), if ((l[20]* l[11])∧(r[20]* r[11])∧(i[20]* i[11])∧(j[20]* j[11])∧(n[20]* n[11])∧(>@z(2@z, l[20]) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
IDP
          ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(4): EVAL_1(i[4], j[4], l[4], r[4], n[4]) → COND_EVAL_11(>=@z(l[4], 2@z), i[4], j[4], l[4], r[4], n[4])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(7): COND_EVAL_11(TRUE, i[7], j[7], l[7], r[7], n[7]) → EVAL_2(i[7], j[7], -@z(l[7], 1@z), r[7], n[7])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(11): COND_EVAL_1(TRUE, i[11], j[11], l[11], r[11], n[11]) → EVAL_2(i[11], j[11], l[11], -@z(r[11], 1@z), n[11])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(20): EVAL_1(i[20], j[20], l[20], r[20], n[20]) → COND_EVAL_1(>@z(2@z, l[20]), i[20], j[20], l[20], r[20], n[20])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(4) -> (7), if ((l[4]* l[7])∧(r[4]* r[7])∧(i[4]* i[7])∧(j[4]* j[7])∧(n[4]* n[7])∧(>=@z(l[4], 2@z) →* TRUE))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(7) -> (2), if ((r[7]* r[2])∧(n[7]* n[2])∧(j[7]* j[2])∧(-@z(l[7], 1@z) →* l[2])∧(i[7]* i[2]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(11) -> (2), if ((-@z(r[11], 1@z) →* r[2])∧(n[11]* n[2])∧(j[11]* j[2])∧(l[11]* l[2])∧(i[11]* i[2]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(19) -> (10), if ((l[19]* l[10])∧(r[19]* r[10])∧(i[19]* i[10])∧(j[19]* j[10])∧(n[19]* n[10])∧(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)) →* TRUE))


(20) -> (11), if ((l[20]* l[11])∧(r[20]* r[11])∧(i[20]* i[11])∧(j[20]* j[11])∧(n[20]* n[11])∧(>@z(2@z, l[20]) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
IDP
              ↳ IDPNonInfProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(19) -> (10), if ((l[19]* l[10])∧(r[19]* r[10])∧(i[19]* i[10])∧(j[19]* j[10])∧(n[19]* n[10])∧(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)) →* TRUE))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12]) the following chains were created:




For Pair EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1]) the following chains were created:




For Pair COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6]) the following chains were created:




For Pair EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10]) the following chains were created:




For Pair EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19]) the following chains were created:




For Pair EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2]) the following chains were created:




For Pair COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5]) the following chains were created:




For Pair EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18]) the following chains were created:




For Pair COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17]) the following chains were created:




For Pair EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




For Pair COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = x4 + x1   
POL(EVAL_4(x1, x2, x3, x4, x5)) = -1 + x3   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x3   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_34(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = x4 + x1   
POL(COND_EVAL_2(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(*@z(x1, x2)) = x1·x2   
POL(EVAL_2(x1, x2, x3, x4, x5)) = -1 + x3   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(COND_EVAL_33(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_31(x1, x2, x3, x4, x5, x6)) = x4 + x1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(COND_EVAL_41(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(+@z(x1, x2)) = x1 + x2   
POL(COND_EVAL_4(x1, x2, x3, x4, x5, x6)) = -1 + x4 + x1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])

The following pairs are in Pbound:

COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
-@z1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
IDP
                    ↳ IDependencyGraphProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(19) -> (10), if ((l[19]* l[10])∧(r[19]* r[10])∧(i[19]* i[10])∧(j[19]* j[10])∧(n[19]* n[10])∧(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)) →* TRUE))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
IDP
                        ↳ IDPNonInfProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(19) -> (10), if ((l[19]* l[10])∧(r[19]* r[10])∧(i[19]* i[10])∧(j[19]* j[10])∧(n[19]* n[10])∧(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)) →* TRUE))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12]) the following chains were created:




For Pair EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1]) the following chains were created:




For Pair COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6]) the following chains were created:




For Pair EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2]) the following chains were created:




For Pair COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10]) the following chains were created:




For Pair EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19]) the following chains were created:




For Pair COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17]) the following chains were created:




For Pair EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




For Pair COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(EVAL_4(x1, x2, x3, x4, x5)) = -1 + x3   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x3   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_34(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_2(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(*@z(x1, x2)) = x1·x2   
POL(EVAL_2(x1, x2, x3, x4, x5)) = -1 + x3   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(COND_EVAL_33(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(COND_EVAL_31(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = 0   
POL(+@z(x1, x2)) = x1 + x2   
POL(COND_EVAL_4(x1, x2, x3, x4, x5, x6)) = -1 + x4   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])

The following pairs are in Pbound:

COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
-@z1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
IDP
                            ↳ IDependencyGraphProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(19): EVAL_4(i[19], j[19], l[19], r[19], n[19]) → COND_EVAL_4(&&(&&(>=@z(l[19], 2@z), >=@z(l[19], 1@z)), >=@z(r[19], 2@z)), i[19], j[19], l[19], r[19], n[19])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(12) -> (19), if ((r[12]* r[19])∧(n[12]* n[19])∧(j[12]* j[19])∧(l[12]* l[19])∧(i[12]* i[19]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(17) -> (19), if ((r[17]* r[19])∧(n[17]* n[19])∧(+@z(j[17], 1@z) →* j[19])∧(l[17]* l[19])∧(i[17]* i[19]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(6) -> (19), if ((r[6]* r[19])∧(n[6]* n[19])∧(j[6]* j[19])∧(l[6]* l[19])∧(i[6]* i[19]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
IDP
                                ↳ IDPNonInfProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in Pbound:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in P:

EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
IDP
                                    ↳ IDependencyGraphProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
IDP
                                        ↳ IDPNonInfProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in Pbound:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in P:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
IDP
                                              ↳ IDependencyGraphProof
                                            ↳ IDP
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
                                            ↳ IDP
                                              ↳ IDependencyGraphProof
IDP
                                                  ↳ IDPNonInfProof
                                            ↳ IDP
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 0   
POL(&&(x1, x2)) = 0   
POL(2@z) = 2   
POL(FALSE) = 2   
POL(1@z) = 1   
POL(undefined) = -1   
POL(>@z(x1, x2)) = -1   

The following pairs are in P>:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in Pbound:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in P:

EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
FALSE1&&(FALSE, FALSE)1
&&(TRUE, TRUE)1TRUE1
FALSE1&&(TRUE, FALSE)1
FALSE1&&(FALSE, TRUE)1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
                                            ↳ IDP
                                              ↳ IDependencyGraphProof
                                                ↳ IDP
                                                  ↳ IDPNonInfProof
IDP
                                                      ↳ IDependencyGraphProof
                                            ↳ IDP
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
                                            ↳ IDP
IDP
                                              ↳ IDependencyGraphProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
                                            ↳ IDP
                                            ↳ IDP
                                              ↳ IDependencyGraphProof
IDP
                                                  ↳ IDPNonInfProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in Pbound:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in P:

EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ IDP
                            ↳ IDependencyGraphProof
                              ↳ IDP
                                ↳ IDPNonInfProof
                                  ↳ IDP
                                    ↳ IDependencyGraphProof
                                      ↳ IDP
                                        ↳ IDPNonInfProof
                                          ↳ AND
                                            ↳ IDP
                                            ↳ IDP
                                              ↳ IDependencyGraphProof
                                                ↳ IDP
                                                  ↳ IDPNonInfProof
IDP
                                                      ↳ IDependencyGraphProof
                  ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
IDP
                    ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(10): COND_EVAL_4(TRUE, i[10], j[10], l[10], r[10], n[10]) → EVAL_2(i[10], j[10], -@z(l[10], 1@z), r[10], n[10])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(10) -> (2), if ((r[10]* r[2])∧(n[10]* n[2])∧(j[10]* j[2])∧(-@z(l[10], 1@z) →* l[2])∧(i[10]* i[2]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
IDP
                        ↳ IDPNonInfProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12]) the following chains were created:




For Pair EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1]) the following chains were created:




For Pair COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6]) the following chains were created:




For Pair EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2]) the following chains were created:




For Pair COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5]) the following chains were created:




For Pair EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18]) the following chains were created:




For Pair COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17]) the following chains were created:




For Pair EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




For Pair COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(EVAL_4(x1, x2, x3, x4, x5)) = x4 + (-1)x3   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x3   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(COND_EVAL_34(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = x5 + (-1)x4   
POL(COND_EVAL_2(x1, x2, x3, x4, x5, x6)) = 1 + x5 + (-1)x4   
POL(*@z(x1, x2)) = x1·x2   
POL(EVAL_2(x1, x2, x3, x4, x5)) = 1 + x4 + (-1)x3   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(COND_EVAL_33(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(COND_EVAL_31(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(COND_EVAL_41(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x4 + (-1)x1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

The following pairs are in Pbound:

COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
-@z1
+@z1
TRUE1&&(TRUE, TRUE)1
FALSE1&&(TRUE, FALSE)1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
IDP
                              ↳ IDependencyGraphProof
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])
(0): COND_EVAL_2(TRUE, i[0], j[0], l[0], r[0], n[0]) → EVAL_3(l[0], *@z(2@z, l[0]), l[0], r[0], n[0])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(0) -> (14), if ((r[0]* r[14])∧(n[0]* n[14])∧(*@z(2@z, l[0]) →* j[14])∧(l[0]* l[14])∧(l[0]* i[14]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(0) -> (3), if ((r[0]* r[3])∧(n[0]* n[3])∧(*@z(2@z, l[0]) →* j[3])∧(l[0]* l[3])∧(l[0]* i[3]))


(2) -> (0), if ((l[2]* l[0])∧(r[2]* r[0])∧(i[2]* i[0])∧(j[2]* j[0])∧(n[2]* n[0])∧(>=@z(r[2], 2@z) →* TRUE))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(0) -> (1), if ((r[0]* r[1])∧(n[0]* n[1])∧(*@z(2@z, l[0]) →* j[1])∧(l[0]* l[1])∧(l[0]* i[1]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(0) -> (8), if ((r[0]* r[8])∧(n[0]* n[8])∧(*@z(2@z, l[0]) →* j[8])∧(l[0]* l[8])∧(l[0]* i[8]))


(0) -> (9), if ((r[0]* r[9])∧(n[0]* n[9])∧(*@z(2@z, l[0]) →* j[9])∧(l[0]* l[9])∧(l[0]* i[9]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(0) -> (15), if ((r[0]* r[15])∧(n[0]* n[15])∧(*@z(2@z, l[0]) →* j[15])∧(l[0]* l[15])∧(l[0]* i[15]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
IDP
                                  ↳ IDPNonInfProof
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x2   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in Pbound:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in P:

EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
IDP
                                        ↳ IDependencyGraphProof
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
IDP
                                            ↳ IDPNonInfProof
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])

The following pairs are in Pbound:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
+@z1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
IDP
                                                  ↳ IDependencyGraphProof
                                                ↳ IDP
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
IDP
                                                      ↳ IDPNonInfProof
                                                ↳ IDP
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in Pbound:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in P:

EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
                                                    ↳ IDP
                                                      ↳ IDPNonInfProof
IDP
                                                          ↳ IDependencyGraphProof
                                                ↳ IDP
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
IDP
                                                  ↳ IDependencyGraphProof
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
IDP
                                                      ↳ IDPNonInfProof
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in Pbound:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in P:

EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
                                                    ↳ IDP
                                                      ↳ IDPNonInfProof
IDP
                                                          ↳ IDependencyGraphProof
                                      ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
IDP
                                        ↳ IDependencyGraphProof
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
IDP
                                            ↳ IDPNonInfProof
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = (2)x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + (2)x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 0   
POL(&&(x1, x2)) = 0   
POL(2@z) = 2   
POL(FALSE) = 0   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

The following pairs are in Pbound:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in P:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
IDP
                                                  ↳ IDependencyGraphProof
                                                ↳ IDP
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
IDP
                                                  ↳ IDependencyGraphProof
                            ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
IDP
                              ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(12): COND_EVAL_31(TRUE, i[12], j[12], l[12], r[12], n[12]) → EVAL_4(i[12], j[12], l[12], r[12], n[12])
(1): EVAL_3(i[1], j[1], l[1], r[1], n[1]) → COND_EVAL_31(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])), i[1], j[1], l[1], r[1], n[1])
(6): COND_EVAL_34(TRUE, i[6], j[6], l[6], r[6], n[6]) → EVAL_4(i[6], j[6], l[6], r[6], n[6])
(14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) → COND_EVAL_34(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))), i[14], j[14], l[14], r[14], n[14])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(2): EVAL_2(i[2], j[2], l[2], r[2], n[2]) → COND_EVAL_2(>=@z(r[2], 2@z), i[2], j[2], l[2], r[2], n[2])
(5): COND_EVAL_41(TRUE, i[5], j[5], l[5], r[5], n[5]) → EVAL_2(i[5], j[5], l[5], -@z(r[5], 1@z), n[5])
(18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) → COND_EVAL_41(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)), i[18], j[18], l[18], r[18], n[18])
(17): COND_EVAL_33(TRUE, i[17], j[17], l[17], r[17], n[17]) → EVAL_4(i[17], +@z(j[17], 1@z), l[17], r[17], n[17])
(8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) → COND_EVAL_33(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])), i[8], j[8], l[8], r[8], n[8])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(1) -> (12), if ((l[1]* l[12])∧(r[1]* r[12])∧(i[1]* i[12])∧(j[1]* j[12])∧(n[1]* n[12])∧(&&(>=@z(r[1], j[1]), >=@z(-@z(r[1], 1@z), j[1])) →* TRUE))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(13) -> (1), if ((r[13]* r[1])∧(n[13]* n[1])∧(*@z(2@z, j[13]) →* j[1])∧(l[13]* l[1])∧(j[13]* i[1]))


(17) -> (18), if ((r[17]* r[18])∧(n[17]* n[18])∧(+@z(j[17], 1@z) →* j[18])∧(l[17]* l[18])∧(i[17]* i[18]))


(13) -> (14), if ((r[13]* r[14])∧(n[13]* n[14])∧(*@z(2@z, j[13]) →* j[14])∧(l[13]* l[14])∧(j[13]* i[14]))


(12) -> (18), if ((r[12]* r[18])∧(n[12]* n[18])∧(j[12]* j[18])∧(l[12]* l[18])∧(i[12]* i[18]))


(14) -> (6), if ((l[14]* l[6])∧(r[14]* r[6])∧(i[14]* i[6])∧(j[14]* j[6])∧(n[14]* n[6])∧(&&(>=@z(r[14], j[14]), >@z(j[14], -@z(r[14], 1@z))) →* TRUE))


(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(8) -> (17), if ((l[8]* l[17])∧(r[8]* r[17])∧(i[8]* i[17])∧(j[8]* j[17])∧(n[8]* n[17])∧(&&(>=@z(r[8], j[8]), >=@z(-@z(r[8], 1@z), j[8])) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (14), if ((r[21]* r[14])∧(n[21]* n[14])∧(*@z(2@z, j[21]) →* j[14])∧(l[21]* l[14])∧(j[21]* i[14]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(6) -> (18), if ((r[6]* r[18])∧(n[6]* n[18])∧(j[6]* j[18])∧(l[6]* l[18])∧(i[6]* i[18]))


(18) -> (5), if ((l[18]* l[5])∧(r[18]* r[5])∧(i[18]* i[5])∧(j[18]* j[5])∧(n[18]* n[5])∧(&&(&&(>@z(2@z, l[18]), >=@z(l[18], 1@z)), >=@z(r[18], 2@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (14), if ((r[16]* r[14])∧(n[16]* n[14])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[14])∧(l[16]* l[14])∧(+@z(j[16], 1@z) →* i[14]))


(16) -> (8), if ((r[16]* r[8])∧(n[16]* n[8])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[8])∧(l[16]* l[8])∧(+@z(j[16], 1@z) →* i[8]))


(5) -> (2), if ((-@z(r[5], 1@z) →* r[2])∧(n[5]* n[2])∧(j[5]* j[2])∧(l[5]* l[2])∧(i[5]* i[2]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (1), if ((r[21]* r[1])∧(n[21]* n[1])∧(*@z(2@z, j[21]) →* j[1])∧(l[21]* l[1])∧(j[21]* i[1]))


(21) -> (8), if ((r[21]* r[8])∧(n[21]* n[8])∧(*@z(2@z, j[21]) →* j[8])∧(l[21]* l[8])∧(j[21]* i[8]))


(13) -> (8), if ((r[13]* r[8])∧(n[13]* n[8])∧(*@z(2@z, j[13]) →* j[8])∧(l[13]* l[8])∧(j[13]* i[8]))


(16) -> (1), if ((r[16]* r[1])∧(n[16]* n[1])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[1])∧(l[16]* l[1])∧(+@z(j[16], 1@z) →* i[1]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
IDP
                                  ↳ IDPNonInfProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = x4 + (-1)x2   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in Pbound:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
IDP
                                        ↳ IDependencyGraphProof
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(21) -> (3), if ((r[21]* r[3])∧(n[21]* n[3])∧(*@z(2@z, j[21]) →* j[3])∧(l[21]* l[3])∧(j[21]* i[3]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
IDP
                                            ↳ IDPNonInfProof
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 0   
POL(&&(x1, x2)) = 0   
POL(2@z) = 2   
POL(FALSE) = 0   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in Pbound:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in P:

EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
+@z1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
IDP
                                                ↳ IDependencyGraphProof
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (15), if ((r[21]* r[15])∧(n[21]* n[15])∧(*@z(2@z, j[21]) →* j[15])∧(l[21]* l[15])∧(j[21]* i[15]))


(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ IDP
                                                ↳ IDependencyGraphProof
IDP
                                                    ↳ IDPNonInfProof
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(21) -> (9), if ((r[21]* r[9])∧(n[21]* n[9])∧(*@z(2@z, j[21]) →* j[9])∧(l[21]* l[9])∧(j[21]* i[9]))


(9) -> (21), if ((l[9]* l[21])∧(r[9]* r[21])∧(i[9]* i[21])∧(j[9]* j[21])∧(n[9]* n[21])∧(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21]) the following chains were created:




For Pair EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = 1 + (2)x4 + (-1)x2   
POL(COND_EVAL_32(x1, x2, x3, x4, x5, x6)) = -1 + (2)x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = -1   
POL(&&(x1, x2)) = -1   
POL(2@z) = 2   
POL(FALSE) = -1   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

The following pairs are in Pbound:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

The following pairs are in P:

COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ IDP
                                                ↳ IDependencyGraphProof
                                                  ↳ IDP
                                                    ↳ IDPNonInfProof
                                                      ↳ AND
IDP
                                                          ↳ IDependencyGraphProof
                                                        ↳ IDP
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(21): COND_EVAL_32(TRUE, i[21], j[21], l[21], r[21], n[21]) → EVAL_3(j[21], *@z(2@z, j[21]), l[21], r[21], n[21])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ IDP
                                                ↳ IDependencyGraphProof
                                                  ↳ IDP
                                                    ↳ IDPNonInfProof
                                                      ↳ AND
                                                        ↳ IDP
IDP
                                                          ↳ IDependencyGraphProof
                                      ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
IDP
                                        ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])
(9): EVAL_3(i[9], j[9], l[9], r[9], n[9]) → COND_EVAL_32(&&(&&(>=@z(r[9], j[9]), >=@z(-@z(r[9], 1@z), j[9])), >=@z(j[9], 1@z)), i[9], j[9], l[9], r[9], n[9])

(16) -> (9), if ((r[16]* r[9])∧(n[16]* n[9])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[9])∧(l[16]* l[9])∧(+@z(j[16], 1@z) →* i[9]))


(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(13) -> (9), if ((r[13]* r[9])∧(n[13]* n[9])∧(*@z(2@z, j[13]) →* j[9])∧(l[13]* l[9])∧(j[13]* i[9]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
IDP
                                            ↳ IDPNonInfProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(16) -> (3), if ((r[16]* r[3])∧(n[16]* n[3])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[3])∧(l[16]* l[3])∧(+@z(j[16], 1@z) →* i[3]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 1   
POL(&&(x1, x2)) = 1   
POL(2@z) = 2   
POL(FALSE) = 1   
POL(>@z(x1, x2)) = -1   
POL(>=@z(x1, x2)) = -1   
POL(+@z(x1, x2)) = x1 + x2   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

The following pairs are in Pbound:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in P:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
+@z1
&&(TRUE, TRUE)1TRUE1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
IDP
                                                  ↳ IDependencyGraphProof
                                                ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
IDP
                                                      ↳ IDPNonInfProof
                                                ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])
(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

(13) -> (3), if ((r[13]* r[3])∧(n[13]* n[3])∧(*@z(2@z, j[13]) →* j[3])∧(l[13]* l[3])∧(j[13]* i[3]))


(3) -> (13), if ((l[3]* l[13])∧(r[3]* r[13])∧(i[3]* i[13])∧(j[3]* j[13])∧(n[3]* n[13])∧(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)) →* TRUE))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13]) the following chains were created:




For Pair EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(COND_EVAL_35(x1, x2, x3, x4, x5, x6)) = 2 + x5 + (-1)x3 + (-1)x1   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = 1 + x4 + (-1)x2   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 1   
POL(&&(x1, x2)) = 1   
POL(2@z) = 2   
POL(FALSE) = 1   
POL(1@z) = 1   
POL(undefined) = -1   
POL(>@z(x1, x2)) = -1   

The following pairs are in P>:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in Pbound:

COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

The following pairs are in P:

EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
&&(FALSE, FALSE)1FALSE1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
                                                    ↳ IDP
                                                      ↳ IDPNonInfProof
IDP
                                                          ↳ IDependencyGraphProof
                                                ↳ IDP

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(3): EVAL_3(i[3], j[3], l[3], r[3], n[3]) → COND_EVAL_35(&&(&&(>=@z(r[3], j[3]), >@z(j[3], -@z(r[3], 1@z))), >=@z(j[3], 1@z)), i[3], j[3], l[3], r[3], n[3])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
IDP
                                                  ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])
(13): COND_EVAL_35(TRUE, i[13], j[13], l[13], r[13], n[13]) → EVAL_3(j[13], *@z(2@z, j[13]), l[13], r[13], n[13])

(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))


(13) -> (15), if ((r[13]* r[15])∧(n[13]* n[15])∧(*@z(2@z, j[13]) →* j[15])∧(l[13]* l[15])∧(j[13]* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
IDP
                                                      ↳ IDPNonInfProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(16): COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])
(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])

(15) -> (16), if ((l[15]* l[16])∧(r[15]* r[16])∧(i[15]* i[16])∧(j[15]* j[16])∧(n[15]* n[16])∧(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)) →* TRUE))


(16) -> (15), if ((r[16]* r[15])∧(n[16]* n[15])∧(+@z(*@z(2@z, j[16]), 2@z) →* j[15])∧(l[16]* l[15])∧(+@z(j[16], 1@z) →* i[15]))



The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16]) the following chains were created:




For Pair EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15]) the following chains were created:




To summarize, we get the following constraints P for the following pairs.



The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(-@z(x1, x2)) = x1 + (-1)x2   
POL(>=@z(x1, x2)) = -1   
POL(EVAL_3(x1, x2, x3, x4, x5)) = -1 + x4 + (-1)x2   
POL(COND_EVAL_3(x1, x2, x3, x4, x5, x6)) = -1 + x5 + (-1)x3 + (-1)x1   
POL(*@z(x1, x2)) = x1·x2   
POL(TRUE) = 1   
POL(&&(x1, x2)) = 0   
POL(2@z) = 2   
POL(+@z(x1, x2)) = x1 + x2   
POL(FALSE) = 0   
POL(1@z) = 1   
POL(undefined) = -1   

The following pairs are in P>:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in Pbound:

COND_EVAL_3(TRUE, i[16], j[16], l[16], r[16], n[16]) → EVAL_3(+@z(j[16], 1@z), +@z(*@z(2@z, j[16]), 2@z), l[16], r[16], n[16])

The following pairs are in P:

EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])

At least the following rules have been oriented under context sensitive arithmetic replacement:

*@z1
FALSE1&&(FALSE, FALSE)1
TRUE1&&(TRUE, TRUE)1
+@z1
&&(FALSE, TRUE)1FALSE1
&&(TRUE, FALSE)1FALSE1


↳ ITRS
  ↳ ITRStoIDPProof
    ↳ IDP
      ↳ UsableRulesProof
        ↳ IDP
          ↳ IDependencyGraphProof
            ↳ IDP
              ↳ IDPNonInfProof
                ↳ AND
                  ↳ IDP
                  ↳ IDP
                    ↳ IDependencyGraphProof
                      ↳ IDP
                        ↳ IDPNonInfProof
                          ↳ AND
                            ↳ IDP
                            ↳ IDP
                              ↳ IDependencyGraphProof
                                ↳ IDP
                                  ↳ IDPNonInfProof
                                    ↳ AND
                                      ↳ IDP
                                      ↳ IDP
                                        ↳ IDependencyGraphProof
                                          ↳ IDP
                                            ↳ IDPNonInfProof
                                              ↳ AND
                                                ↳ IDP
                                                ↳ IDP
                                                  ↳ IDependencyGraphProof
                                                    ↳ IDP
                                                      ↳ IDPNonInfProof
IDP
                                                          ↳ IDependencyGraphProof

I DP problem:
The following domains are used:

z

R is empty.
The integer pair graph contains the following rules and edges:

(15): EVAL_3(i[15], j[15], l[15], r[15], n[15]) → COND_EVAL_3(&&(&&(>=@z(r[15], j[15]), >=@z(-@z(r[15], 1@z), j[15])), >=@z(j[15], 1@z)), i[15], j[15], l[15], r[15], n[15])


The set Q consists of the following terms:

eval_3(x0, x1, x2, x3, x4)
eval_1(x0, x1, x2, x3, x4)
eval_4(x0, x1, x2, x3, x4)
Cond_eval_3(TRUE, x0, x1, x2, x3, x4)
Cond_eval_41(TRUE, x0, x1, x2, x3, x4)
Cond_eval_31(TRUE, x0, x1, x2, x3, x4)
Cond_eval_4(TRUE, x0, x1, x2, x3, x4)
Cond_eval_1(TRUE, x0, x1, x2, x3, x4)
Cond_eval_32(TRUE, x0, x1, x2, x3, x4)
Cond_eval_2(TRUE, x0, x1, x2, x3, x4)
Cond_eval_33(TRUE, x0, x1, x2, x3, x4)
eval_2(x0, x1, x2, x3, x4)
Cond_eval_34(TRUE, x0, x1, x2, x3, x4)
Cond_eval_35(TRUE, x0, x1, x2, x3, x4)
Cond_eval_11(TRUE, x0, x1, x2, x3, x4)


The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.